Barcode optical character recognition

ABSTRACT

Computer software which is configured to create a printer label format based on a printed label that has been scanned. The software provides that an existing label is scanned, and then the software converts the scan into a label format through optical character recognition (OCR). The software is configured such that text on the label is recognized as text, graphics are recognized as graphics, etc. and anything on the label which is not specifically recognized by the software is characterized as being a graphic. Preferably, barcodes are recognized as barcodes, and not just as graphics. Subsequently, a user is prompted, via a visual display, to confirm that the scanned objects have been correctly characterized and the user can change any of the characterizations made by the software. The user can link any object to a variable field, and can add embedded printer-specific non-printing control codes to the label format.

RELATED APPLICATION

This application claims the benefit of United States Provisional Application Ser. No. 60/256,618, filed Dec. 19, 2000.

BACKGROUND

The present invention relates generally to computer software packages for creating and editing printer label formats, and relates more specifically to a computer software package which can create a printer label format based on a printed label that has been scanned. The present invention also specifically relates to a method of creating a printer label format by scanning a printed label.

Barcode printers, such as on-demand barcode printers, use label formats to print labels. Presently, software packages are available which a user can use to create and edit printer label formats. For example, there are a variety of software packages for the PC (personal computer) and Macintosh® which a user can use to design barcode label formats.

The software packages which are generally available are user friendly and generally make creating and editing a label format easy for a user. Such software packages generally provide that the label formats is displayed on a computer monitor as the user uses the software package to design the label format. The user can place text, graphical objects, barcode objects, etc. onto a graphical representation of a printed label, and can manipulate the objects into the desired label design. Typically, the user can also link any of the objects to variable data. In addition, these software packages generally provide that the user can embed special printer command codes into the label format, where the command codes subsequently do not physically print, but rather control specific features of the printer which subsequently uses the label format to print labels.

These software packages are convenient for a user to use to create new label formats and to edit existing label formats, so long as the existing label format has been created using the same software package (or a compatible package). However, these software packages do not provide that a user can easily import existing label formats that were not created using the software package (or a compatible package), such as printer labels which were created in a printer-specific command language. The software packages which are presently available require that a user has to manually create a similar label format from scratch, manually interpreting and measuring the different features and characteristics of the label. This process is often time consuming and obviously provides room for error. Furthermore, if the label contains any barcodes, the user must be able to identify the barcodes as the user designs the label format. Hence, the user needs to be trained and experienced in barcodes in order to create an accurate label format that includes barcodes.

Another aspect of the present invention relates to optical character recognition (OCR) software. OCR software has been available for many years, and currently recognizes characters, fonts and graphics, such as raster or vector graphics. Current OCR software also recognizes certain primitive formatting, such as margins, indents, tabs, etc. However, current OCR software does no generally recognize barcodes, such as what type of barcode a scanned barcode is, or any of the parameters associated with the barcode which has been scanned. Instead, current OCR software typically interprets a barcode as a mere graphic.

OBJECTS AND SUMMARY

An object of an embodiment of the present invention is to provide a computer software package which can create a printer label format based on a printed label that has been scanned.

Another object of an embodiment of the present invention is to provide a method of creating a printer label format by scanning an existing, printed label.

Still another object of an embodiment of the present invention is to provide OCR software which can identify barcodes.

Briefly, and in accordance with at least one of the foregoing objects, an embodiment of the present invention provides computer software which is configured to create a printer label format based on a printed label that has been scanned. Specifically, the software provides that an existing label is scanned, and then the software converts the scan into a label format through optical character recognition (OCR). Preferably, the software is configured such that text on the label is recognized as text, graphics are recognized as graphics, etc. And anything on the label which is not specifically recognized by the software is characterized as being a graphic. Preferably, the software recognizes barcodes as barcodes, and not just as graphics. Subsequently, the software preferably prompts a user, using a visual display, to confirm that the scanned objects have been correctly characterized and allows the user to change any of the characterizations made by the software. Additionally, preferably the software allows the user to link any of the objects to a variable field, and to input embedded printer-specific non-printing control codes into the label format. The software preferably provides that once this process is complete, and a label format has been created, the label format can be saved and printed at any time, using any supported printer.

Another object of an embodiment of the present invention is to provide a method of creating a printer label formats by scanning a printed label. Specifically, the printed label is scanned, and then the scanned label is converted to a label format. One or more objects may be linked to a variable field, and embedded printer-specific non-printing control codes may be added to the label format. Once this process is complete, and a label format has been created, the label format can be saved and printed at any time, using any supported printer.

Still another object of an embodiment of the present invention is to provide OCR software which is configured to identify barcodes as being barcodes and not just as graphics.

BRIEF DESCRIPTION OF THE DRAWINGS

The organization and manner of the structure and function of the invention, together with further objects and advantages thereof, may be understood by reference to the following description taken in connection with the accompanying drawings, wherein:

FIG. 1 is a block diagram of a method of creating a label format, where the method is in accordance with an embodiment of the present invention;

FIG. 2 is a block diagram of a system which can be used to perform the method illustrated in FIG. 1, wherein a computer runs a computer software package which is in accordance with an embodiment of the present invention;

FIG. 3 is an illustration of a printed label sample which has been printed by an existing printer;

FIG. 4 is a screen shot showing the computer software package opened, before the label shown in FIG. 3 is scanned;

FIG. 5 is a screen shot showing the computer software package being directed to scan;

FIG. 6 is a screen shot showing the computer software package after the label shown in FIG. 3 has been scanned, and showing the computer software package prompting a user to confirm/change characterizations which have been made by the computer software package with regard to the scanned label; and

FIG. 7 is a screen shot showing the computer software package prompting a user to confirm print time preferences before a label is printed.

DESCRIPTION

While the present invention may be susceptible to embodiment in different forms, there is shown in the drawings, and herein will be described in detail, an embodiment of the invention with the understanding that the present description is to be considered an exemplification of the principles of the invention and is not intended to limit the invention to that as illustrated and described herein.

FIG. 1 provides a block diagram of a method of creating a label format, where the method is in accordance with an embodiment of the present invention. The method provides that a label format can be created by scanning an existing, printed label. As such, a user can easily import existing label formats that were not created using a given software package (or a compatible package), such as printer labels which were created in a printer-specific command language. The method obviates the need for the user to have to manually create a similar label format from scratch, manually interpreting and measuring the different features and characteristics of the label.

As shown in FIG. 1, the method provides that an existing, printed label is scanned (box 10). Then, the scanned label is converted to a label format (box 12), and the user confirms and/or changes characterizations which were made regarding the scanned label (box 14). The user may also link any of the objects to variable fields, and input embedded printer specific non-printing control codes, where the command codes subsequently do not physically print, but rather control specific features of a printer which subsequently uses the label format to print one or more labels. As shown in FIG. 1, once the label format has been created, it can be saved (box 16), and then used by a supported printer to print labels (box 18).

FIG. 2 illustrates a system 20 which can be used to perform the method shown in FIG. 1. As shown in FIG. 2, the system 20 includes a scanner 22 which is connected to a computer 24. The computer 24 is connected to a computer monitor 26 and may be connected to one or more printers 28. Preferably, the computer 24 runs a computer software package which is configured to create a label format based on a scanned label (i.e. in accordance with FIG. 1). The computer software package will be described in more detail below with reference to certain screen shots which are illustrated in FIGS. 4-6.

The method illustrated in FIG. 1 and briefly described above will now be described in connection with the system 20 shown in FIG. 2 and the computer software package. A sample label 30 which has been printed by an existing printer is illustrated in FIG. 3. Assuming a user wishes to create a label format based on the label 30 shown in FIG. 3, the user places the label 30 on the scanner 22 shown in FIG. 2, and uses the computer 24 shown in FIG. 2 to open the computer software package such that the monitor 26 shown in FIG. 2 provides a screen shot 32 as shown in FIG. 4.

Subsequently, the user uses the computer 24 shown in FIG. 2 to direct the computer software package to scan the label 30, at which time the monitor 26 shown in FIG. 2 provides a screen shot 34 as shown in FIG. 5. The computer 26 then directs the scanner 22 to scan the label 30, and afterward, the monitor 26 provides a screen shot 36 as shown in FIG. 6, wherein a graphic representation 38 of the label 30 is displayed.

The computer software package is configured to convert the scanned label 30 to a label format and in so doing, recognizes text on the label as text, graphics as graphics, etc. And anything on the label which is not specifically recognized by the software is characterized as being a graphic. Preferably, the computer software package is configured to recognize barcodes as barcodes (and not just as a graphic). Specifically, preferably the computer software package is configured to determine what type of barcode (i.e., Code 39, Code 128, Maxicode, etc.) a scanned barcode is, and is configured to determine certain parameters about the barcode, such as aspect ratio, size, and human readability.

As shown in FIG. 6, after the label 30 has been scanned, the computer software package preferably prompts the user (via window 40) to confirm and/or change the characterizations about the objects on the label which the computer software package has made. At such time, the user may confirm/change any of the characterizations, as well as link any of the objects to variable fields, and input embedded printer specific non-printing control codes, where the command codes subsequently do not physically print, but rather control specific features of a printer which subsequently uses the label format to print one or more labels. Once the label format has been created, it can be saved (see box 16 in FIG. 1).

As shown in FIG. 2, one or more printers 28 may be connected to the computer 26. After a label format has been created, the user may direct the computer 26 to have one of the printers 28 print one or more labels based on the label format. As shown in FIG. 7, the computer software package may provide a screen shot 42 wherein the user is prompted (via window 44) confirm certain print time preferences before printing begins. Once the label has been printed, the label may appear exactly, or at least substantially similar to, the label shown in FIG. 3.

As described, the method (and computer software package) provides that a label format can be created by scanning an existing, printed label. As such, a user can easily import existing label formats that were not created using a given software package (or a compatible package), such as printer labels which were created in a printer-specific command language. Hence, the user does not have to manually create a similar label format from scratch, manually interpreting and measuring the different features and characteristics of the label.

Additionally, as described, the computer software package provides barcode OCR which is a distinct advantage over OCR which is currently available, which would characterize a barcode as being a mere graphic.

While an embodiment of the present invention is shown and described, it is envisioned that those skilled in the art may devise various modifications without departing from the spirit and scope of the foregoing description. 

What is claimed is:
 1. Computer software comprising computer readable code configured to create a printer label format based on a printed label that has been scanned, said computer readable code configured to scan a label and then use the scanned label to generate a label format using optical character recognition (OCR), wherein said computer readable code is configured to recognize text on the scanned label as text, is configured to recognize graphics on the scanned label as graphics, and is configured to characterize as graphics any items on the scanned label which are not specifically recognized by the computer readable code, said label format created from the scanned label thereafter being useable to print labels similar in format to the label which was scanned and used to create the label format.
 2. Computer software as recited in claim 1, wherein said computer readable code is configured to recognize barcodes on the scanned label as barcodes.
 3. Computer software as recited in claim 2, wherein said computer readable code is configured to determine at least one parameter about a barcode on the scanned label, said at least one parameter comprising at least one of aspect ratio, size and human readability.
 4. Computer software as recited in claim 1, wherein said computer readable code is configured to prompt a user, using a visual display, to confirm that the objects on the scanned label have been correctly characterized by the computer readable code.
 5. Computer software as recited in claim 4, wherein said computer readable code is configured to allow the user to change any of the characterizations made by the computer readable code.
 6. Computer software as recited in claim 1, wherein said computer readable code is configured to allow a user to link at least one object identified on the scanned label to a variable field.
 7. Computer software as recited in claim 1, wherein said computer readable code is configured to allow a user to input embedded printer-specific non-printing control codes into the label format.
 8. Computer software as recited in claim 1, wherein said computer readable code is configured to provide that, once a label format has been created, said label format can be saved and printed.
 9. A method of creating a printer label format: comprising scanning a printed label; using the scanned label to generate the label format using optical character recognition (OCR), wherein text on the scanned label is recognized as text, wherein said graphics on the scanned label is recognized as graphics, and wherein any items on the scanned label which are not specifically recognized is characterized as a graphic, and after scanning the printed label, and using the scanned label to generate a label format, using the label format created from the scanned label to print labels similar in format to the label which was scanned and used to create the label format.
 10. A method as recited in claim 9, further comprising using optical character recognition (OCR) to process barcodes on the scanned label as barcodes.
 11. A method as recited in claim 9, further comprising using optical character recognition (OCR) to determine at least one parameter about a barcode on the scanned label, said at least one parameter comprising at least one of aspect ratio, size and human readability.
 12. A method as recited in claim 9, further comprising using a visual display to confirm that objects on the scanned label have been correctly characterized.
 13. A method as recited in claim 9, further comprising linking at least one object identified on the scanned label to a variable field.
 14. A method as recited in claim 9, further comprising embedding at least one printer-specific non-printing control code into the label format. 